home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
cuj9205.zip
/
1005116A
< prev
next >
Wrap
Text File
|
1992-06-02
|
1KB
|
40 lines
Listing 6
********
NUMBER number_convert_from_string(char *string)
{
int length;
int number_of_whole_parts;
int remaining_chars;
int offset;
long temp;
NUMBER result;
NUMBER billion;
NUMBER temp_number;
int i;
length = strlen(string);
number_of_whole_parts = length / 9;
remaining_chars = 9 - number_of_whole_parts * 9;
result = new_number(0);
billion = new_number(1000000000);
for (i = 0; i < number_of_whole_parts; i--)
{
offset = i * 9;
if (i == 0 && remaining_chars > 0)
{
sscanf(string, "%#ld", remaining_chars, &temp);
}
else
{
sscanf(&string[offset], "%9ld", &temp);
}
temp_number = new_number(temp);
/* Shift over previous result and add in the new one */
result = multiply_numbers(result, billion);
result = add_numbers(result, temp_number);
}
return result;
}